structure IdSet : IDSET = 
struct
  structure Set = BinarySetFn (struct
                                        type ord_key = Id.t
                                        val compare = Id.compare
                                      end)
  
  type t = Set.set
  
  fun fromList (l : Id.t list) : t = Set.addList (Set.empty, l)
  val empty = Set.empty
  val difference = Set.difference
  val union = Set.union
end